//
// Created by sjjmw on 2/23/2022.
//

#pragma clang diagnostic push
#pragma ide diagnostic ignored "EndlessLoop"
#ifndef LEETCODE__17_H
#define LEETCODE__17_H

//todo
// 假设有k个人质和k个绑匪围成一圈。人质的编号从1到k，绑匪的编号从k+1到2k。
// 从编号1开始，每次从其中选出第m个人(隔m-1选出一人)出列。
// 希望求出m的最小值，使得最先出列的k个人都是绑匪，即都是编号从k+1到2k的人。
#include "iostream"
#include "vector"
//给你一条马路的长度和若干个车站的位置，请你用程序计算出把树移走后，马路上还剩多少棵树。

int main(){

    int l,m;
    while(scanf("%d %d",&l,&m)!=EOF){
        int max1=INT32_MIN,min1=INT32_MAX;
        std::vector<int> tag(l);
        int left_cnt=l;
        while(left_cnt){
            std::cin>>tag[left_cnt-1];
            left_cnt--;
        }
        for(int i=0;i<l;i++){
            int sum=0;
            for(int j=i;j<i+m;j++){
                int rd=j%l;
                sum+=tag[rd];
            }
            if(sum>max1){
                max1=sum;
            }
            if(sum<min1){
                min1=sum;
            }
        }
        printf("Max=%d\nMin=%d\n\n",max1,min1);
    }
//    while(1){}
    return 0;
}

#endif //LEETCODE__17_H

#pragma clang diagnostic pop